1. Field of the Invention
The present invention relates to the field of data reporting when parsing XML documents, and more particularly to how to directly deserialize the data in an application-specific format, without costly intermediate processing and representations.
2. Description of Background
Extensible Markup Language, or XML, parsers are deployed in varying applications, each requiring different application interfaces to report the data with. Sometimes this is achieved by writing an entire application specific parser or by writing the parser against a sufficiently general and low level Application Programming Interface, or API, and supplying transducers for application-specific data structures. Other times, parsers are written to support several APIs, or are written as a collection of multiple generalized components only some of which are used each time. For example, Xerces, an open source XML parser, supports several versions of the Simple API for XML, or SAX, and the Document Object Model API, or DOM, as well as Xerces Native Interface, or XNI, making it slower. Other XML parsers have been written as a collection of generalized components, which the end user has to assemble by hand. In all these cases, adding a new API requires a lot of new code that is low-level, high-complexity, hard-to-debug, and hard-to-maintain. The user ends up modifying the validation code to add support for a new data reporting API.
Therefore, a method for generating the appropriate API code relevant to the particular usage of an XML parser would be highly desirable.